<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    // new Promise((resolve, reject) => {
    //   // reject(new Error('promise fail'))
    //   // 直接抛出的错误也可以走error
    //   // throw new Error('fail')
    //   // a + 1;
    //   try {
    //     a + 1;
    //   } catch (error) {
    //     reject(error)
    //   }
    // }).then(
    //   value => console.log(value),
    //   reason => {
    //     console.log(reason)
    //     console.log(reason.message)
    //   }
    // )

    new Promise((resolve, reject) => {
      // resolve('fulfilled')
      reject(new Error('promise fail'))
      // 直接抛出的错误也可以走error
      // throw new Error('fail')
      // a + 1;
    }).then(
      value => {
        return new Promise((resolve, reject) => {
          reject('p2')
        })
      }
    )
    .then(
      value => console.log(value)
    )
    .catch(error => { // catch 一般放在后面，统一处理
      console.log('catch' + error)
    })
  </script>
</body>
</html>